Before do
  File.delete(devices_filename) if File.exist? devices_filename  
  File.delete(schedule_filename) if File.exist? schedule_filename  
end

Givet /^att fjärrströmbrytare "([^\"]*)" innehåller strömbrytare "([^\"]*)" och "([^\"]*)" finns på fil$/ do |namn1, namn2, namn3|
  prepare_config
  prepare_devices(namn1,namn2,namn3)
end

När /^jag tar emot kommando "([^\"]*)"$/ do |kommando|
  file = File.open(TriggerSwitchD::ConfigFactory::ProperEnvironmentFile.new.path,"r")
  app = TriggerSwitchD::Application.new(file)
  file.close
  @app_thread = Thread.start { app.start }
  @app_thread.abort_on_exception = true
  @client = nil
  @client = UNIXSocket.open(TriggerSwitchD::Config.unix_socket_path)
  @client.send(kommando,0)
end

Så /^skickar jag "([^\"]*)"$/ do |svar|
  YAML.load(@client.recvfrom(10000)[0]).should == 
  YAML.load(svar.gsub("<fnutt>","\""))
  @client.close
  @app_thread.kill
end

Så /^skickar jag text som matchar "([^\"]*)"$/ do |regex|
  client_ans = YAML.load(@client.recvfrom(10000)[0])
  client_ans.inspect.should =~ Regexp.new(regex)
  @client.close
  @app_thread.kill
end